<h3 expresiones_control_flujo_javascript_bucles_for>
  Bucles for
</h3>

<p>Un bucle <tt>for</tt> combina lo mejor de todos los mundos en una única estructura de bucle que te permite pasar tres parámetros en cada declaración:</p>

<ul>
  <li>Una expresión de inicialización</li>
  <li>Una expresión de condición</li>
  <li>Una expresión de modificación</li>
</ul>

<p>Estos están separados por punto y coma, así: <tt>for (expr1; expr2; expr3)</tt>. La expresión de inicialización se ejecuta al inicio de la primera iteración del bucle. En el caso del código para la tabla de multiplicar del <tt>7</tt>, <tt>count</tt> se inicializaría con el valor <tt>1</tt>. Luego, cada vez que se recorre el bucle, se evalúa la expresión de condición (en este caso, <tt>count <= 7</tt>), y el bucle solo se ejecuta si la condición es <tt>true</tt>. Por último, al final de cada iteración, se ejecuta la expresión de modificación. En el caso de la tabla de multiplicar del <tt>7</tt>, la variable <tt>count</tt> se incrementa. El ejemplo 15-19 muestra cómo sería el código.</p>

<p><i>Ejemplo 15-19. Utilizando un bucle <tt>for</tt></i></p>

<code>
<script>
  for (count = 1; count <= 7; ++count)
  {
    document.write(count + "times 7 is " + count * 7 + "<br>");
  }
</script>
</code>

<p>Al igual que en PHP, puedes asignar múltiples variables en el primer parámetro de un bucle <tt>for</tt> separándolas con una coma, así:</p>

<code>
for (i = 1, j = 1; i < 10; i++)
</code>

<p>Asimismo, puedes realizar múltiples modificaciones en el último parámetro, de esta forma:</p>

<code>
for (i = 1; i < 10; i++, --j)
</code>

<p>O puedes hacer ambas cosas al mismo tiempo:</p>

<code>
for (i = 1, j = 1; i < 10; i++, --j)
</code>
